#!/bin/bash
#
# Este script obtiene la lista de usuarios 
# de un servidor Samba...
#

 # Obtener la ruta absoluta del script
 LSOF=$(lsof 2>/dev/null -p $$ | grep -E "/"$(basename $0)"$")
 MY_PATH=$(echo $LSOF | sed -r s/'^([^\/]+)\/'/'\/'/1 2>/dev/null)
 MY_ROOT=$(dirname $MY_PATH)


 # Cargar la configuracion del servidor Samba
 . $MY_ROOT/Config.app.conf

 # Para los temporales...
 tmpFile=/tmp/smbList_$$_$RANDOM

 # Listar usuarios Samba del dominio...
 net rpc -S $SMB_Server -U $SMB_Credentials user >$tmpFile.smb

 # Listar los usuarios de OpenLDAP
 ldapsearch -x -h $LDAP_Server -D "$LDAP_Login" -w $LDAP_Passw -b "$LDAP_Base" '(objectClass=sambaSamAccount)' -LLL uid sn sambaAcctFlags | perl -ne 'if($_=~m/^\s+(\S.+)\s+$/) {print "$1";}else{ $_=~m/^(.+)\s+$/; print "\n$1";}' >$tmpFile.ldap

 # Obtener la lista ya formateada
 perl  $MY_ROOT/simplifyUserList.pl $tmpFile.smb $tmpFile.ldap $LDAP_Base_Uneditable


 rm $tmpFile.* -f 2>/dev/null
 
